ROMs conventionally comprise a plurality of lateral or vertical fuses wherein a predetermined number of fuses are located in a row coupled to a word line and another predetermined number of fuses are located in a column coupled to a bit line. In other words, each fuse is uniquely coupled in a combination of columns and rows.
When a fuse is intact (electrically closed), it represents one digital state, i.e., "1". When the fuse is "blown" (electrically open), it represents a different digital state, i.e., "0". ROMs are manufactured with the fuses in the closed state and are subsequently programmed by applying a relatively high voltage between selected word lines and bit lines to open specific fuses.
Lateral fuses typically comprise a film of a material, i.e., nicrome, horizontally formed across a surface of the semiconductor chip. Vertical fuses typically comprise two back to back diodes having common anodes.
Lateral fuses when programmed with the high voltage will "blow open" and no residual programming current will flow thereafter. However, lateral fuses have a tendency to "grow back" over time in that "fingers" or extentions of the fuse material tend to permit current to flow therebetween when a sense voltage is applied between the word line and bit line.
A high voltage used to program a vertical fuse will short one of the back to back diodes and this shorted state will remain indefinitely. However, immediately after the diode is shorted and before the programming high voltage is removed, a high current continues to flow through the other diode. This high current easily may damage this other diode or melt the metalization of the word line or bit line.
One previously known method used to overcome this problem caused by the high current is to program the fuses with a current pulse and to read the state of the fuse with an off chip test system while programming in order to detect when the fuse is blown and then terminating the current pulse. Another previously known method uses a train of timed voltage pulses with periodic return to the verify mode to determine when the fuse has been programmed. However, these methods of programming require expensive electronic monitoring equipment that makes it financially unfeasable for the user of the ROM to do his own programming. Conventionally, the manufacturer of the ROM would program the ROM according to the customer's specifications. These methods cause increased inconvience and time required to obtain a programmed ROM from the manufacturer than would be required if the user could program ROMs maintained in his own inventory.
Thus, what is needed is a ROM having an on-chip current switch that removes the programming voltage from the vertical fuse of the ROM when the fuse is programmed, thereby preventing excessive current from flowing therethrough.